当前位置:flash课件吧→免费FLASH教程之三(含实例教程)新页面 新改版 新气象

题 目:FlashMXMedia组件实现Mp3连放

Flash MX 2004 的Media组件确实不错,大家在使用的时候可能发现MediaDisplay组件只能播放一首mp3,假如要让他播放完一首歌曲后再接着播放另一首歌曲就不行了。今天就来给大家介绍一下怎样用MediaController和MediaDisplay组件实现多首mp3的联播。

  播放器界面如图:

  

 

  思路如下:

  歌曲列表用一外部XML文档来记录,便于修改。开始的时候定义一XML对象,并载入外部XML文档,载入后再将歌曲列表提取出来放入一数组中。接着用attachMovie()方法将MediaController和MediaDisplay组件载入舞台,然后配置各自的参数,并将二者相关联(Media.associateController()或Media.associateDisplay()方法都行)当一首歌曲播放完后,触发MediaDisplay的complete事件,在此事件中我将MediaController和MediaDisplay组件卸载并重新载入MediaController和MediaDisplay组件(使用attachMovie()方法)并给一新的实例名,并配置MediaDisplay组件的播放内容为下一首歌曲,如此往复来播放任何的歌曲。

  制作步骤:

  1.新建一个FLASH文档,配置舞台大小:220*70。

  2.将组件MediaController和MediaDisplay拖入舞台,然后从舞台上删除。这样做的目的是将这两个组件载入库中,为接下来用attachMovie()方法将MediaController和MediaDisplay组件载入舞台做好准备。

  3.新建一层,命名为function。在该层的第一帧上输入如下AS代码:

  function init(){

  flagNum = 1;

  //播放歌曲的标示

  mp3Num = 0;

  attachController();

  };

  //将MediaController和MediaDisplay组件载入舞台并初始化

  function attachController(){

  //将MediaDisplay组件载入舞台并给定义实例名 "mp3Container" flagNum

  _root.attachMovie("MediaDisplay","mp3Container" flagNum,2);

  //配置组件初始参数

  with(_root["mp3Container" flagNum]){

  _x = 250;

  _y = 0;

  setMedia(myArray[mp3Num],"MP3");

  }

  //将MediaController组件载入舞台并给定义实例名 "mp3Controller" flagNum

  _root.attachMovie("MediaController","mp3Controller" flagNum,1);

  //配置组件初始参数

  with(_root["mp3Controller" flagNum]){

  _x = 0;

  _y = 0;

  activePlayControl = false;

  controllerPolicy = "on";

  //将MediaController和MediaDisplay组件相关联

  associateDisplay(_root["mp3Container" flagNum]);

  };

  };

  function playNext(){

  //将MediaController和MediaDisplay组件从舞台上删除

  _root["mp3Controller" flagNum].removeMovieClip();

  _root["mp3Container" flagNum].removeMovieClip();

  flagNum = 1;

  mp3Num = 1;

  //假如播放到歌曲的最后一首,将mp3Num = 0,意为将从头开始播放

  if(mp3Num == mp3Total) mp3Num = 0;

  //重新载入MediaController和MediaDisplay组件,并给一新的实例名

  attachController();

  //因为每播放完一首歌曲后MediaController和MediaDisplay组件从舞台上被卸载

  //然后又重新载入MediaController和MediaDisplay组件并给了另外一个实例名

  //所以要重新向注册的监听器广播事情

  _root["mp3Container" flagNum].addEventListener("complete", myListener);

  };

  4.新建一层,命名为action,在该层第一帧输入一下AS代码:

  stop();

  //数组myArray用来存储 载入的XML文档中的歌曲名称

  var myArray = new Array();

  //歌曲的总数

  var mp3Total:Number;

  var myXml = new XML();

  myXml.ignoreWhite = true;

  myXml.load("mp3list.xml");

  myXml.onLoad = function() {

  var e = myXml.firstChild.childNodes;

  mp3Total = e.length;

  for (var i = 0; i

  myArray.push(e[i].attributes["title"]);

  }

  init();

  _root["mp3Container" flagNum].addEventListener("complete", myListener);

  };

  var myListener = new Object();

  myListener.complete = function(eventObject) {

  playNext();

  };

  5.保存文档,Ctrl Enter测试影片并输出SWF文档。测试影片时会有错误提示,不用担心,这是由于没有生成XML文档的缘故。

  6.创建XML文档:

  将该文档保存在和原SWF文档相同的文档夹中,命名为mp3list.xml。

  7.在原文档目录下放入两首mp3,默认名称为1.mp3,2.mp3,这里的名称和歌曲数目大家能够自己修改XML文档。

  到此为止,一个连放两首MP3的播放器就能够使用了,打开SWF文档,您将会听到优美动听的音乐,同时看到播放进度显示等MP3播放器常有的功能。注意:要想让这个播放器用于您的网站上,必须把SWF文档和XML连同两首MP3文档上传到您的网站的同一个文档夹中。

 

 

 

 

 

期刊论文服务

合作期刊
学报期刊
 
获奖证书办理
本站已改版成新站 课件115学培吧http://www.kj115.com
免费FLASH教程之三(含实例教程)内容导航
为Flash建搜索内容索引 Flash广告播放器研发 Flash引领互动动画潮流 Flash趣味鼠标特效大作战
Flash MX 2004滚动文本框的两种做法 给Flash文件添加历史记录 Flash中的常见术语(详解) 用笛卡尔公式画出的一颗心状图
播放器拖动进度条制作 水滴效果动画,Flash制作中的AS问题 中秋寄相思 自制Flash贺卡 用SWiSHmax轻松制作精彩Flash片头
用autocad制作一个量角器_autocad教程 Flash百叶窗制作教程 Flash制作实用别致的导航菜单 Flash实用技巧之音乐时间显示篇
Flash中的电影艺术之镜头技巧教程
Flash AS游戏教程:人物及控制 PS+FLASH制作马赛克效果 如何在论坛中,链接自已的FLASH动画呢!
FLASH中的抛运动中的竖直上抛运动 鼠标感应花儿转动效果 FLASH效果篇:闪光效果 自己动手制作手机Flash主题动画
晨雾蒙蒙动画效果,Flash制作方法 Flash制作简单MP3播放器 Flash制作滚动广告图片效果 Flash MX动画制作实例教程-文字处理-设置段落属性
电闪雷鸣、小雨纷飞的效果,Flash制作方法 Flash实现用鼠标调整窗口的大小 AS3学习源码--打气球 关于主动画中load动画和动态文本的共同运用问题
关于倒计时程序的准确性解决方法之一 Flash加载外部文件的方法与技巧集合 Tween类:图片缓动浏览效果 FLASH中加载外部音乐代码&部分难找AS教程
Flash与Java Servlet结合实现网上对战 用AS3实再FLASH游戏的上下左右移动 FLASH中加载外部音乐代码 Flash动态文本框中加载HTML格式文本
Flash制作环绕的立体图片效果动画 FLASH CS3中的FLA形式组件制作教程 酷!Flash聊天室的实现 更多相关内容总目录(200个)》》》
国家信息产业部备案专号:鄂ICP08005724返回顶部
本站推荐最佳分辨率:1024X768在线咨询台
声明:我站除课件制作动画制作培训以外,所有内容均属于免费资源。本站部分资源来自于网络,由本站收集整理,如有侵权请联系本站管理(QQ444860709 手机13339817386),我站会在三个工作日内处理。